package main

import "fmt"

/*
  数字转换机

题目描述

小Q从牛博士那里获得了一个数字转换机，这台数字转换机必须同时输入两个正数a和b，
并且这台数字转换机有一个红色的按钮和一个蓝色的按钮：
当按下了红色按钮，两个数字同时加1。
当按下了蓝色按钮，两个数字同时乘2。
小Q现在手中有四个整数a，b，A，B，他希望将输入的两个整数a和b变成A，B（a对应A，b对应B）
因为牛博士允许小Q使用数字转换机的时间有限，所以小Q希望按动按钮的次数越少越好。请你帮帮小Q吧。

输入描述:
输入包括一行，一行中有四个正整数a，b，A，B，（1≤a，b，A，B≤10^9）。
输出描述:
如果小Q可以完成转换，输出最少需要按动按钮的次数，否则输出-1。

示例1
输入
100 1000 202 2002
输出
2
 */

func main() {
	var a, A, b, B int
	fmt.Scan(&a, &b, &A, &B)
	count := 0

	// 如果a，b 大于A, B则输出 -1
	if a > A || b > B {
		fmt.Println(-1)
	} else {
		for a != A {
			if A % 2 == 0 && A / 2 >= a && B % 2 == 0 && B / 2 >= b {
				count ++
				A = A / 2
				B = B / 2
				continue
			}else {
				count ++
				A -= 1
				B -= 1
			}
		}
		if B == b {
			fmt.Println(count)
		}else {
			fmt.Println(-1)
		}
	}
}
